<?php
namespace mainphp\sql;

/**
 * 数据库操作类。
 * 其 $mysql 属性为静态属性，所以在页面执行周期内，
 * 只要一次赋值，以后的获取还是首次赋值的内容。
 * 这里就是 mysql 对象，这样可以确保运行期间只有一个
 * 数据库连接对象，这是一种简单的单例模式
 */
class Db
{
    private static $mysqli = null;

    public static function mysql()
    {
        if (self::$mysqli !== null) {
            return self::$mysqli;
        }

        self::$mysql = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

        if (self::$mysqli) {
            mysqli_query($mysqli, "set names utf8");
            return self::$mysqli;
        } else {
            die("Connection failed: " . mysqli_connect_error() . "<br />");
        }
    }
}